home *** CD-ROM | disk | FTP | other *** search
/ Aminet 41 / Aminet 41 (2001)(Schatztruhe)[!][Feb 2001].iso / Aminet / dev / c / libiconv_src.lha / src / iso646_jp.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-11-07  |  713 b   |  42 lines

  1.  
  2. /*
  3.  * ISO646-JP
  4.  * also known as JIS_C6220-1969-RO
  5.  */
  6.  
  7. /* This is the lower half of JIS_X0201. */
  8.  
  9. static int
  10. iso646_jp_mbtowc (conv_t conv, wchar_t *pwc, const unsigned char *s, int n)
  11. {
  12.   unsigned char c = *s;
  13.   if (c < 0x80) {
  14.     if (c == 0x5c)
  15.       *pwc = (wchar_t) 0x00a5;
  16.     else if (c == 0x7e)
  17.       *pwc = (wchar_t) 0x203e;
  18.     else
  19.       *pwc = (wchar_t) c;
  20.     return 1;
  21.   }
  22.   return RET_ILSEQ;
  23. }
  24.  
  25. static int
  26. iso646_jp_wctomb (conv_t conv, unsigned char *r, wchar_t wc, int n)
  27. {
  28.   if (wc < 0x0080 && !(wc == 0x005c || wc == 0x007e)) {
  29.     *r = wc;
  30.     return 1;
  31.   }
  32.   if (wc == 0x00a5) {
  33.     *r = 0x5c;
  34.     return 1;
  35.   }
  36.   if (wc == 0x203e) {
  37.     *r = 0x7e;
  38.     return 1;
  39.   }
  40.   return RET_ILSEQ;
  41. }
  42.